export default {
	// 为当前模块开启命名空间
	namespaced: true,
	// 数据
	state: {
		initPath: '', //用户初始化位置
		startPath: '', // 开始路线
		endPath: '', // 结束路线
		pathHistory: uni.getStorageSync('didiAddress') || [], //历史记录的列表
		startEnd: [], //起点和终点----记录路线march
		routePath: [], //路线的规划
		theFinal: [], //起点和终点的经纬度
		setcity: '', //选中的城市
		weather: '', //天气情况
	},
	// 响应组件中用户的动作
	actions: {

	},
	// 修改state中的数据
	mutations: {
		// 开始起点的位置
		getStart(context, value) {
			// 开始的地点
			context.startPath = value
			context.initPath = ''
			let flag = false //判断是否相同的开关
			// 第一次添加历史
			if (context.pathHistory.length == 0) {
				context.pathHistory.unshift(value)
			} else {
				for (const item of context.pathHistory) {
					if (item.id == value.id) {
						flag = true
					}
				}
				if (!flag) {
					// 判断历史记录长度
					if (context.pathHistory.length < 5) {
						context.pathHistory.unshift(value)
					} else {
						context.pathHistory.pop()
						context.pathHistory.unshift(value)
					}
				}
			}
			uni.setStorageSync('didiAddress', context.pathHistory)
		},
		// 目的地的位置
		getEnd(context, value) {
			context.endPath = value
			let flag = false //判断是否相同的开关
			// 第一次添加历史
			if (context.pathHistory.length == 0) {
				context.pathHistory.unshift(value)
			} else {
				for (const item of context.pathHistory) {
					if (item.id == value.id) {
						flag = true
					}
				}
				if (!flag) {
					// 判断历史记录长度
					if (context.pathHistory.length < 5) {
						context.pathHistory.unshift(value)
					} else {
						context.pathHistory.pop()
						context.pathHistory.unshift(value)
					}
				}
			}
			uni.setStorageSync('didiAddress', context.pathHistory)
		},
		// 路线的规划 与 起点和终点
		routePath(context, value) {
			context.routePath = value[0] // 路线的规划
			value[1][0].iconPath = "../../static/起点.png"
			context.startEnd = value[1] // 起点和终点的图标
			context.theFinal = value[2] //起点和终点的经纬度
		},
		// 起点的路线
		getInitPath(context, value) {
			context.initPath = value
			context.startPath = ''
		},
		// 更换城市
		setCityPath(context, value) {
			context.setcity = value
		},
		// 天气情况
		setWeather(context, value) {
			context.weather = value
		}
	},
	// 计数属性
	getters: {

	}
}
